草庐IT

rust 特点

全部标签

Rust安全编码实践 Secure Coding Practices in Rust

作者:禅与计算机程序设计艺术1.简介Rust编程语言被称为可保证内存安全的系统编程语言,它在编译期间通过类型系统确保数据不出错。因此,Rust语言开发者需要掌握一些安全编码实践,如内存安全、访问控制、输入验证等。本文将对这些安全编码实践进行详细介绍,并结合Rust代码实例加以说明。本文涉及以下主题:1.内存安全a)概念b)检查器2.访问控制a)可信任的代码b)输入验证3.线程安全Rust提供两种方法帮助检查线程安全问题:1)特征(Traits)2)内部同步机制。第一种方法与C++中的模板类类似,可以为结构体或枚举添加额外的约束条件,比如Send和Sync。第二种方法则利用标准库中提供的原子化类

SQLite数据库的类型系统特点及应用分析

SQLite是一种轻量级的嵌入式数据库系统,广泛应用于各种移动设备和桌面应用程序中。下面我们将探讨SQLite数据库的类型系统特点,并分析它在实际应用中的优势和适用性。了解SQLite的类型系统特点,有助于我们更好地理解和应用这个数据库系统。SQLite的类型系统是指它支持的数据类型及其相关规则和约束。SQLite的类型系统相对简单,主要包括以下几个方面的特点:动态类型:SQLite的数据类型是动态的,即一个列可以存储不同类型的值。SQLite会根据存入的值自动确定列的数据类型,并进行相应的隐式类型转换。这种动态类型的特点使得SQLite非常灵活,可以存储各种类型的数据,无需事先定义列的数据类

目前为止,这些项目已经被 Rust 重写了

大家好,我是渔夫。今天,聊聊截止至2024年,有那些项目或那些公司使用Rust重写了。ockamOckam是一款专注于简化构建可信任的互联设备和应用程序的开源软件工具。提供了一系列编程库和命令行工具,可以用于协调端到端的加密、相互认证、密钥管理、凭证管理和授权策略的执行。Ockam的目的就是在设备和云服务之间安全地交换信息,尤其是强调身份验证和通信的安全性。在早期,Ockam采用C语言开发的,随后开发团队决定将Ockam完全使用Rust来重写。Ockam的架构核心是一系列复杂的加密和基于消息的协议,如涉及到这种对加密消息协议,这往往可能存在很多安全隐患,一不留神可能就导致系统的不安全,刚好Ru

41. 干货系列从零用Rust编写负载均衡及代理,websocket与tcp的映射,WS与TCP互转

wmproxywmproxy已用Rust实现http/https代理,socks5代理,反向代理,静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子项目地址国内:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxy项目设计目标针对有一些应用场景需要将TCP转成websocket的,就比如旧的客户端或者旧的服务端比较不合适进行改造,但是又需要借助阿里的全站加速DCDN等这类服务或者其它可能需要特定浏览器协议的情

41. 干货系列从零用Rust编写负载均衡及代理,websocket与tcp的映射,WS与TCP互转

wmproxywmproxy已用Rust实现http/https代理,socks5代理,反向代理,静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子项目地址国内:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxy项目设计目标针对有一些应用场景需要将TCP转成websocket的,就比如旧的客户端或者旧的服务端比较不合适进行改造,但是又需要借助阿里的全站加速DCDN等这类服务或者其它可能需要特定浏览器协议的情

初探: 通过pyo3用rust为python写扩展加速

众所周知,python性能比较差,尤其在计算密集型的任务当中,所以机器学习领域的算法开发,大多是将python做胶水来用,他们会在项目中写大量的C/C++代码然后编译为so动态文件供python加载使用。那么时至今日,对于不想学习c/c++的朋友们,rust可以是一个不错的替代品,它有着现代化语言的设计和并肩c/c++语言的运行效率。本文简单介绍使用rust为python计算性质的代码做一个优化,使用pyo3库为python写一个扩展供其调用,咱们下面开始,来看看具体的过程和效率的提升。(PS:本文只是抛砖引玉,初级教程)我的台式机环境:设备名称 DESKTOP处理器 12thGenIntel

初探: 通过pyo3用rust为python写扩展加速

众所周知,python性能比较差,尤其在计算密集型的任务当中,所以机器学习领域的算法开发,大多是将python做胶水来用,他们会在项目中写大量的C/C++代码然后编译为so动态文件供python加载使用。那么时至今日,对于不想学习c/c++的朋友们,rust可以是一个不错的替代品,它有着现代化语言的设计和并肩c/c++语言的运行效率。本文简单介绍使用rust为python计算性质的代码做一个优化,使用pyo3库为python写一个扩展供其调用,咱们下面开始,来看看具体的过程和效率的提升。(PS:本文只是抛砖引玉,初级教程)我的台式机环境:设备名称 DESKTOP处理器 12thGenIntel

FPGA与嵌入式系统:特点和区别

FPGA与嵌入式系统:特点和区别FPGA(现场可编程逻辑门阵列)和嵌入式系统是在数字电子领域中使用广泛的技术。它们在硬件设计和嵌入式系统开发中发挥着重要的角色。尽管两者都是用于实现特定功能的数字电路,但它们在设计方法、可编程性和适用场景方面存在一些区别。本文将探讨FPGA和嵌入式系统的特点和区别,并提供相应的源代码示例。一、FPGA(现场可编程逻辑门阵列)FPGA是一种可编程逻辑器件,它由大量的逻辑门、寄存器和可编程互连网络组成。FPGA的主要特点如下:可重构性:FPGA具有可编程性,可以根据设计需求对其内部的逻辑门和互连网络进行重新配置。这意味着FPGA可以在硬件级别上实现各种不同的功能和算

Rust Map指南:深入理解、轻松应用

大家好,我是渔夫。今天我们来聊聊Rust中的map知识,在其他语言一样,Map通常指的是一种数据结构和一系列操作,用于将一组值映射到另一组值或执行某些操作,也就是我们常说的键值对。接下来一起探讨Rust中map 的基本用法,和常见操作以及一些有用的技巧。什么是map?在Rust中map是一种非常重要数据结构,和其他语言类似,也是一种键-值存储的集合。它能够允许你将一个键与一个值相关联,然后就方便通过键来检索值。下面是简单例子,在Rust中,map通常通过std::collections::HashMap来实现。usestd::collections::HashMap;fnmain(){letm

Rust越来越流行了!盘点使用Rust的五大项目

作者丨Dr.AshishBamania编译丨云昭Rust最近得到了很多关注,它已经连续8年成为开发者中最受欢迎的语言!观察一下StackOverflow发布的2023年开发人员调查,可以发现,使用Rust的开发人员中有85%的人希望明年再次使用它。图源:StackOverflowDeveloperSurvey2023Rust受到如此大的认可,我并不吃惊。因为它真的可以提供很多东西。下面让我们了解一下有哪些著名公司在他们的技术堆栈中使用了Rust。1、微软:TheWindowsKernel今天的很多核心软件都是使用C/C++构建的。由微软开发的技术也是如此。有趣的是,微软几乎70%的常见漏洞和暴